package com.ruoyi.jiuyezu.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 抽背情况对象 jiuyezu_quiz_results
 *
 * @author wyj
 * @date 2024-07-23
 */
public class QuizResults extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long id;

    /** 班级ID */
    private Long classId;

    /**
     * 班级名称
     */
    @Excel(name = "班级", needMerge = true)
    private String className;

    /** 姓名 */
    @Excel(name = "姓名")
    private String studentName;

    /** 错误数 */
    @Excel(name = "抽查情况（错误）")
    private Long errorCount;
    /** 需要抄写的错误题目数量（错误数*5） */
    @Excel(name = "错题抄写遍数")
    private Long errorCopyCount;

    /** 正确数 */
    private Long correctCount;

    /** 错题抄写次数 */
    private Long copyCount;

    @Excel(name = "备注")
    private String remark;

    /** 是否抄写 */
    @Excel(name = "是否抄写", readConverterExp = "1=已抄完")
    private Integer isCopied;

    /** 抽背时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd", needMerge = true)
    private Date quizDate;


    /** 是否是开发班 */
    private Integer isDevelopmentClass;

    /** 完成的图片地址 */
    private String completedImageUrl;

    /** 逻辑删除 */
    private Integer isDeleted;

    /** 创建人 */
    private String createdBy;

    /** 创建人ID */
    private Long createdById;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createdDate;

    /** 修改人ID */
    private Long updateById;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date updateDate;


    /** 审核人 */
    private String approvedBy;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date approvedDate;

    /** 审核拒绝原因 */
    private String approvalRejectReason;

    /** 状态（请假、退学等其他没有抄写的原因，引用字典状态） */
    private Long statusId;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setClassId(Long classId) {
        this.classId = classId;
    }

    public Long getClassId() {
        return classId;
    }

    public void setStudentName(String studentName) {
        this.studentName = studentName;
    }

    public String getStudentName() {
        return studentName;
    }

    public void setErrorCount(Long errorCount) {
        this.errorCount = errorCount;
    }

    public Long getErrorCount() {
        return errorCount;
    }

    public void setCorrectCount(Long correctCount) {
        this.correctCount = correctCount;
    }

    public Long getCorrectCount() {
        return correctCount;
    }

    public void setCopyCount(Long copyCount) {
        this.copyCount = copyCount;
    }

    public Long getCopyCount() {
        return copyCount;
    }

    public void setIsCopied(Integer isCopied) {
        this.isCopied = isCopied;
    }

    public Integer getIsCopied() {
        return isCopied;
    }

    public void setQuizDate(Date quizDate) {
        this.quizDate = quizDate;
    }

    public Date getQuizDate() {
        return quizDate;
    }

    public void setErrorCopyCount(Long errorCopyCount) {
        this.errorCopyCount = errorCopyCount;
    }

    public Long getErrorCopyCount() {
        return errorCopyCount;
    }

    public void setIsDevelopmentClass(Integer isDevelopmentClass) {
        this.isDevelopmentClass = isDevelopmentClass;
    }

    public Integer getIsDevelopmentClass() {
        return isDevelopmentClass;
    }

    public void setCompletedImageUrl(String completedImageUrl) {
        this.completedImageUrl = completedImageUrl;
    }

    public String getCompletedImageUrl() {
        return completedImageUrl;
    }

    public void setIsDeleted(Integer isDeleted) {
        this.isDeleted = isDeleted;
    }

    public Integer getIsDeleted() {
        return isDeleted;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedById(Long createdById) {
        this.createdById = createdById;
    }

    public Long getCreatedById() {
        return createdById;
    }

    public void setCreatedDate(Date createdDate) {
        this.createdDate = createdDate;
    }

    public Date getCreatedDate() {
        return createdDate;
    }

    public void setUpdateById(Long updateById) {
        this.updateById = updateById;
    }

    public Long getUpdateById() {
        return updateById;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setApprovedBy(String approvedBy) {
        this.approvedBy = approvedBy;
    }

    public String getApprovedBy() {
        return approvedBy;
    }

    public void setApprovedDate(Date approvedDate) {
        this.approvedDate = approvedDate;
    }

    public Date getApprovedDate() {
        return approvedDate;
    }

    public void setApprovalRejectReason(String approvalRejectReason) {
        this.approvalRejectReason = approvalRejectReason;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getRemark() {
        return remark;
    }

    public String getApprovalRejectReason() {
        return approvalRejectReason;
    }

    public void setStatusId(Long statusId) {
        this.statusId = statusId;
    }

    public Long getStatusId() {
        return statusId;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    public String getClassName() {
        return className;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("classId", getClassId())
                .append("studentName", getStudentName())
                .append("errorCount", getErrorCount())
                .append("correctCount", getCorrectCount())
                .append("copyCount", getCopyCount())
                .append("isCopied", getIsCopied())
                .append("quizDate", getQuizDate())
                .append("errorCopyCount", getErrorCopyCount())
                .append("isDevelopmentClass", getIsDevelopmentClass())
                .append("completedImageUrl", getCompletedImageUrl())
                .append("isDeleted", getIsDeleted())
                .append("remark", getRemark())
                .append("createdBy", getCreatedBy())
                .append("createdById", getCreatedById())
                .append("createdDate", getCreatedDate())
                .append("updateBy", getUpdateBy())
                .append("updateById", getUpdateById())
                .append("updateDate", getUpdateDate())
                .append("approvedBy", getApprovedBy())
                .append("approvedDate", getApprovedDate())
                .append("approvalRejectReason", getApprovalRejectReason())
                .append("statusId", getStatusId())
                .toString();
    }
}
